Users of communications or data devices increasingly need to access common data on many of the devices they use. For example, many devices such as corded and cordless telephones, cellular handsets, WiFi telephones and handsets, and similar devices have the ability to store user-changeable data such as telephone numbers and associated names of frequently-called parties. More advanced telephones and handsets may permit downloading and storing one or more ring tones and the ring-tone settings for incoming calls based on caller line ID service. Still other examples of devices intended for storing user-changeable data are so-called Personal Information Managers (PIM) that store data such as an address book, an appointment calendar, and email functions associated with IP addresses stored in the device.
Increasingly, people may own or use several such devices and have the need to maintain and update current information on all such devices. For example, a person may have a cellular handset, a corded phone, and at least one cordless phone at home and a PIM relating to the person's work or occupation. The names, telephone numbers, appointments, and other data stored in the devices change routinely, requiring the user not only to update that data on each device but also to remember to do so. Furthermore, if the user acquires a new device such as an additional cordless handset or a new cellular handset, the user must enter anew all the directory information on that new device.
Techniques for synchronizing data on devices are known. However, those techniques involve synchronization between a device and a server. The techniques are most commonly applied to synchronization of address book, calendar, and email. In those approaches, for example, when a user changes a data field in a calendar entry on a device, and then docks or otherwise connects that device to a server equipped for the purpose, the calendar application on the device is synchronized with the calendar application of the server. This prior technique is best suited for enterprise applications, and other situations where the user can afford a central server to centralize data synchronization across multiple devices. However, home users and others lacking access to a central server must separately update their data on each device in use by them.